package com.ncr.travel.appmgr.model;

import java.util.List;

import com.ncr.travel.appmgr.model.shared.Function;
import com.ncr.travel.appmgr.model.shared.Graphics;
import com.ncr.travel.appmgr.model.shared.Rule;
import com.ncr.travel.appmgr.model.shared.ScreenConfiguration;
import com.ncr.travel.appmgr.model.shared.Text;

/**
 * @author ng185038
 * 
 */
public class ScreenConfigurationJson implements ScreenConfiguration {

	private Integer id;
	private String name;
	private String key;
	private String url;
	private List<Text> text;
	private List<Function> functions;
	private List<Rule> rules;
	private List<Graphics> graphics;

	public ScreenConfigurationJson() {
		super();
	}

	public ScreenConfigurationJson(Integer id, String key, String name, String url) {
		super();
		this.id = id;
		this.key = key;
		this.name = name;
		this.url = url;
	}

	public ScreenConfigurationJson(ScreenConfiguration screenConfiguration) {
		this.id = screenConfiguration.getId();
		this.key = screenConfiguration.getKey();
		this.name = screenConfiguration.getName();
		this.url = screenConfiguration.getUrl();
		this.functions = screenConfiguration.getFunctions();
		this.graphics = screenConfiguration.getGraphics();
		this.rules = screenConfiguration.getRules();
		this.text = screenConfiguration.getText();
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#getId()
	 */
	@Override
	public Integer getId() {
		return id;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#setId(java.lang.Integer)
	 */
	@Override
	public void setId(Integer id) {
		this.id = id;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#getKey()
	 */
	@Override
	public String getKey() {
		return key;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#setKey(java.lang.String)
	 */
	@Override
	public void setKey(String key) {
		this.key = key;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#getName()
	 */
	@Override
	public String getName() {
		return name;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#setName(java.lang.String)
	 */
	@Override
	public void setName(String name) {
		this.name = name;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#getUrl()
	 */
	@Override
	public String getUrl() {
		return url;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#setUrl(java.lang.String)
	 */
	@Override
	public void setUrl(String url) {
		this.url = url;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#getText()
	 */
	@Override
	public List<Text> getText() {
		return text;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#setText(java.util.List)
	 */
	@Override
	public void setText(List<Text> text) {
		this.text = text;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#getFunctions()
	 */
	@Override
	public List<Function> getFunctions() {
		return functions;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#setFunctions(java.util.List)
	 */
	@Override
	public void setFunctions(List<Function> list) {
		this.functions = list;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#getGraphics()
	 */
	@Override
	public List<Graphics> getGraphics() {
		return graphics;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#setGraphics(java.util.List)
	 */
	@Override
	public void setGraphics(List<Graphics> graphics) {
		this.graphics = graphics;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#getRules()
	 */
	@Override
	public List<Rule> getRules() {
		return rules;
	}

	/* (non-Javadoc)
	 * @see com.ncr.travel.appmgr.client.model.ScreenConfiguration#setRules(java.util.List)
	 */
	@Override
	public void setRules(List<Rule> rules) {
		this.rules = rules;
	}
}